//LogRecord 写入到数据文件的记录
// 之所以叫日志，是因为数据文件中的数据是追加写入的，类似于日志的格式

// 数据位置索引信息，描述了数据存储到了哪个位置
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct LogRecodePos {
    pub(crate) file_id: u32, // 文件id,表示数据存储到哪个文件之中
    pub(crate) offset: u64,  //偏移，表示数据存储到了数据文件中的哪个位置
}
#[derive(PartialEq)]
pub enum LogRecordType {
    // 正常put 数据
    NORMAL = 1,
    // 被删除的数据标识，墓碑值
    DELETED = 2,
}

// LogRecord 写入到数据文件的记录
// 之所以叫日志，是因为数据文件中的数据是追加写入的，类似于日志的格式
pub struct LogRecord {
    pub(crate) rec_type: LogRecordType,
    pub(crate) key: Vec<u8>,
    pub(crate) value: Vec<u8>,
}

impl LogRecord {
    pub fn encode(&mut self) -> Vec<u8> {
        todo!()
    }
}
